#include <iostream>
#include <vector>
using namespace std;
 
int sum = 0;
int n = 0, m = 0;
bool vis[11];
 
void dfs(int i) // 考虑i选还是不选
{
    if(sum >= m || i > n)
    {
        if(sum == m)
        {
            for(int i = 1; i <= n; ++i)
            {
                if(vis[i])
                    cout << i << " ";
            }
            cout << endl;
        }
        return;
    }
 
    sum += i; // 选
    vis[i] = true; 
    dfs(i + 1);
    sum -= i; // 回溯
    vis[i] = false;
 
    dfs(i + 1); // 不选！！！！！！！！！
}
 
int main()
{
    cin >> n >> m;
    dfs(1);
    return 0;
}